import type { Position } from './model';

import type { ID, PageResult } from '#/api/common';

import { requestClient } from '#/api/request';

enum Api {
  postDelete = '/post/v1/deletePost',
  postList = '/post/v1/pageList',
  postSave = '/post/v1/savePost',
  postUpdate = '/post/v1/updatePost',
}

/**
 * 职位分页列表
 * @param data 请求参数
 * @returns 列表
 */
export function postList(data?: any) {
  return requestClient.post<PageResult<Position>>(Api.postList, data);
}

/**
 * 新增职位
 * @param data 参数
 */
export function postAdd(data: Partial<Position>) {
  return requestClient.postWithMsg<void>(Api.postSave, data);
}

/**
 * 更新职位
 * @param data 参数
 */
export function postUpdate(data: Partial<Position>) {
  return requestClient.postWithMsg<void>(Api.postUpdate, data);
}

/**
 * 删除职位
 * @param postId 职位ID
 */
export function postRemove(postId: ID) {
  return requestClient.get<void>(`${Api.postDelete}?id=${postId}`);
}
